package com.qf.automation.user.service;

import com.qf.automation.user.model.User;

import java.util.List;

public interface UserService {
    /**
     * 用户登陆的方法
     * @param signName 登陆名
     * @param password 登陆的密码
     * @return 返回对应的用户的实体对象；
     * 如果登陆信息有误，就返回null。
     */
    User signIn(String signName, String password);

    /**
     * 用户注册的方法
     * @param user  将要注册的用户实例
     * @return  数据库执行结果；
     *
     */
    int signUp(User user);


    /**
     * 用户信息校验重复的功能
     * @param userInfo 待校验的用户信息
     * @param type 带校验的信息的类型是什么？
     *             1  代表  电话号
     *             2  代表  邮箱
     *             3  代表  用户名
     * @return 返回待校验信息是否已经存在。
     */
    boolean checkUserInfo(String userInfo,int type);

    /**
     * 生成随机昵称的方法
     */
    String randomNickName();

    /**
     * 根据手机号查询或者创建一个user
     *
     */
    User returnUserByPhoneNo(String phoneNo);

    /**
     * 业务能力
     * 用户保存头像
     */
    int saveIcon(Long id,String icon);

    /**
     * 根据用户id查询用户
     */
    User findUserById(long id);


    /**
     * 批量查询用户信息
     */
    List<User> findUsersByIds(List<Long> id);


}
